﻿#请求CMake版本：
cmake_minimum_required(VERSION 3.8)

#指定项目，名称：
project(Util VERSION 1.0 LANGUAGES CXX)


#自动moc：
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)


#指定c++标准：
#设置c++的标准为 17
set(CMAKE_CXX_STANDARD 17)
#强制设置c++标准，如果不支持c++ 17  则会发生错误
set(CMAKE_CXX_STANDARD_REQUIRED ON)



#查找指定的模块：
find_package(Qt6 REQUIRED COMPONENTS Sql Core Widgets Network HttpServer)


file(GLOB UTIL_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
file(GLOB UTIL_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/*.h)


#test:
#message(STATUS "-------" ${UTIL_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR})


#根据指定的文件生成静态库：
add_library(${PROJECT_NAME} STATIC ${UTIL_SOURCES})
#注意：添加完静态库后，一定要在要调用的CMakeLists中也添加这个静态库的名字，那么也就是在User_authority_management_system-Server的CMakeLists中的target_link_libraries中添加这个静态库的名字

target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

#给目标连接库文件：	（必须在生成可执行程序后）
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Sql Qt6::Core Qt6::Widgets Qt6::Network Qt6::HttpServer)



#如果是后来 需要重新配置CMake，是按照前面的操作来配置的，但还是不行的话，别忘了配置系统环境变量，把Qt安装文件路径下的msvc2019_64里的bin文件夹路径配置到系统环境变量



#娘的，注意，如果你在编译运行的时候，出现不能正常输出中文格式的奇怪报错，或者下程序输出的下面出现几百行这样的
#D:\vs-code\Qt_project\databaseUse\main.cpp(1): warning C4828: 文件包含在偏移 0xfd2 处开始的字符，该字符在当前源字符集中无效(代码页 65001)。
#警告，就是源文件使用的字符编码与你的当前源字符集不一致的问题；	这个项目是Qt_CMake模版，所有的功能都是经过这个模版生成；
#如果还是有这样的问题，就点击左上角的文件，然后点击高级保存选项，再把编码格式改为	Unicode (UTF-8带签名) -代码页65001	就行了；
#对这个CMake	真是一把屎一把尿.....

